<?php
class CV_OutputFilter_ArrayObjectDecorator extends CV_OutputFilter_AbstractArrayDecorator implements Countable,ArrayAccess,IteratorAggregate{
	public function __call( $name, $arguments ){
		$o = new ReflectionObject( $this->decoratee );
		$m = $o->getMethod( $name );
		return $this->output_filter->decorate( $m->invokeArgs($this->decoratee, $arguments) ); 
	}
	public function __get( $var ){
		return $this->output_filter->decorate( $this->decoratee->$var );
	}
	public function __set( $var, $value ){
		throw new CV_OutputFilter_Exception( 'This object is decorated with StringFilter and therefor read-only' );
	}
	public function __isset( $var ){
		throw new CV_OutputFilter_Exception( 'This object is decorated with StringFilter and therefor isset is disabled' );
	}
	public function __unset( $var ){
		throw new CV_OutputFilter_Exception( 'This object is decorated with StringFilter and therefor read-only' );
	}
}